**************************************************************
** Replication Code for 
** Article "Credible Commitments? Explaining IGO Suspensions to Punish Political Backsliding"
** Inken von Borzyskowski and Felicity Vabulas
** International Studies Quarterly 
**
** Last Updated: May 2018
**************************************************************

// OS X El Capitan 
// Software: Stata 14.2 SE
// Set working directory to the location of ISQ_replication data.dta and load data
cd "~/Dropbox/IGO suspensions/RQ2/ISQ/ISQ replication files/"
use "ISQ_replication data.dta", clear

// Install if you haven't yet
ssc install estout
ssc install sutex
ssc install listtab
net install gr0002_3, from (http://www.stata-journal.com/software/sj4-3)  /*for schemes*/

* download btscs for cubic splines from Beck, Katz, Tucker 1998
* 	download the .ado file (e.g. from place https://www.prio.org/Data/Stata-Tools/) 
* 	Place the files 'btscs.*' in the 'ado' folder under your stata installation directory.

* download latex at https://www.latex-project.org/get/ to open table output files

* install relogit.ado: 
* 	follow instructions posted at https://gking.harvard.edu/scholar_software/relogit-rare-events-logistic-regression/1-1-stata
* 	step 1: download folder/package from https://gking.harvard.edu/relogit
* 	step 2: place in correct directory as described in King's readme file: 
* 		To install RELOGIT, launch Stata and then type
*		sysdir
* 		at the command prompt.             
*    If RELOGIT is strictly for your own use, copy all files to the PLUS
*    directory listed on your screen.  For example, the directory is
*    c:\ado\plus under Windows and ~/ado/plus/ under UNIX.  
* 	 If, on the other hand, you are a site administrator who wants to share RELOGIT with
*    other users on your network, copy all files to the SITE directory.  In
*    some cases the PLUS and SITE directories may not yet exist on your
*    computer.  For those cases, please use your operating system to create
*    the directory  that will hold the files.

* install relogitll.ado 
* 	This is to get model fit statistics (AIC, BIC, LL)
* 	http://travisbraidwood.altervista.org/dataverse.html
* 	follow instructions posted at http://travisbraidwood.altervista.org/Relogitll_Instructions_&_Example.do
* 	download / copy code from http://travisbraidwood.altervista.org/relogitll.ado




***************************************
* MANUSCRIPT
***************************************	

// Figure 1
* color
use "ISQ_replication data.dta", clear
by IGO_num, sort: egen SuspPerIGO=sum(Suspension)
collapse (first) SuspPerIGO, by(IGOlong)
drop if SuspPerIGO==0
graph hbar SuspPerIGO, ///
	over(IGOlong, sort(1) descending  gap(*0.7)) bar(1, color(ebblue)) ytitle("Frequency")  ///
	graphregion(color(white))  aspectratio(0.6) 
graph export "Figure1_color.pdf", replace
* black and white
use "ISQ_replication data.dta", clear
by IGO_num, sort: egen SuspPerIGO=sum(Suspension)
collapse (first) SuspPerIGO, by(IGOlong)
drop if SuspPerIGO==0
graph hbar SuspPerIGO, ///
	over(IGOlong, sort(1) descending  gap(*0.7))  bar(1, color(black)) ytitle("Frequency")  ///
	graphregion(color(white))  aspectratio(0.6) 
graph export "Figure1_bw.pdf", replace

		

		
// Figure 2 
use "ISQ_replication data.dta", clear
collapse (max) Suspension Backsliding, by(cowcode year) 	
// # of suspensions per country-year
by  cowcode year, sort: gen nvals = _n == 1 
set more off
by  year, sort: count if nvals
by  year, sort: egen totalSuspBS= total(nvals) if  Suspension==1
replace totalSuspBS=0 if totalSuspBS==.
// # of backsliding per country-year
by  year, sort: egen totalBS5= total(nvals) if  Backsliding==1
replace totalBS5=0 if totalBS5==.
sum totalSuspBS totalBS5
collapse (max) totalSuspBS totalBS5, by(year)
sum totalSuspBS totalBS5
twoway line  totalBS5 totalSuspBS  year,  ///
	lpattern(solid dash) lcolor (black black)   ///
	xtitle("Year") ytitle("Number of Countries") scheme(lean1) aspectratio(1.0)  ///
	legend(order(1 "# of Countries politically backsliding" ///
	2 "# of Countries suspended for political backsliding")	///
	size(small) ring(0) position(9)  yoffset(-10))  
graph export "Figure2.pdf", replace
	

	
	
// Figure 3 
use "ISQ_replication data.dta", clear
collapse (max) Suspension Backsliding cowcode, by(IGO_num year)
// gen number of committed IGOs per IGO-year 	
by  IGO_num year, sort: gen nvals = _n == 1 
set more off
by  year, sort: count if nvals
by  year, sort: egen totalIGOscommitted= total(nvals)
// gen number of SuspBS per IGO-year
by  year, sort: egen totalIGOSuspBS= total(nvals) if  Suspension==1
replace totalIGOSuspBS=0 if totalIGOSuspBS==.
sum totalIGOscommitted totalIGOSuspBS
// gen % of suspensions of all backsliding country-years = # suspensions/ # backsliding
by  year, sort: egen totalBS= total(nvals) if  Backsliding==1 
by  year, sort: egen totalSuspAfterBSNumber= total(nvals) if  Backsliding==1 & Suspension==1
by  year, sort: gen totalSuspAfterBSPercent= totalSuspAfterBSNumber*100/totalBS
sum totalBS totalSuspAfterBSNumber totalSuspAfterBSPercent
collapse (max) totalIGOscommitted totalIGOSuspBS   totalBS totalSuspAfterBSNumber totalSuspAfterBSPercent , by(year)
replace totalSuspAfterBSPercent=0 if totalSuspAfterBSPercent==.
// 2 axes: 	
twoway line  totalSuspAfterBSPercent year, yscale(range(0(0.1)1)  alt axis(1)) ylabel(0(10)100) lpattern(dot) lcolor (black)   ///
	ytitle("Percent of IGOs Suspending given Backsliding",  axis(1))  ///
	|| line totalIGOscommitted totalIGOSuspBS year, sort yaxis(2) yscale(alt axis(2)) ///
	lpattern(solid dash) lcolor (black black)   ///
	xtitle("Year") ytitle("Number of IGOs",  axis(2)) scheme(lean1) aspectratio(1.0) ///
	legend(order(1 "% IGOs using suspension, given backsl. (right axis)" ///
	2 "# of IGOs (left axis)" ///
	3 "# of IGOs using suspension after backsl. (left axis)") ///
	size(small) ring(0) position(9) yoffset(-20) bmargin(none) region(style(none)))  
graph export "Figure3.pdf", replace


	
		
// Table 1
use "ISQ_replication data.dta", clear
set more off
local controls_country IOmoreDemocratic post_ColdWar  time time2 time3 
local controls_BS GDPgrowth_Lag1 GDPpc_Lag1LOG  OilGaspc_Lag1LOG ///
	Democracy_Lag1 AgeDemocracy_Lag1LOG  NumberParties_Lag1LOG system 
heckprob Suspension Allied_Lag1_ATOP   				`controls_country', select(Backsliding = `controls_BS') vce(cluster IGO_num) 
est store Heckman1
heckprob Suspension OilGaspc_Lag1LOG  	`controls_country', select(Backsliding = `controls_BS') vce(cluster IGO_num) 
est store Heckman2
heckprob Suspension GDP_Lag1Log  		`controls_country', select(Backsliding = `controls_BS') vce(cluster IGO_num) 
est store Heckman3
heckprob Suspension c.IGOsize##c.IGOsize  `controls_country', select(Backsliding = `controls_BS') vce(cluster IGO_num) 
est store Heckman4
heckprob Suspension VotingRule   		`controls_country', select(Backsliding = `controls_BS') vce(cluster IGO_num)  difficult technique (bfgs) 
est store Heckman5
heckprob Suspension SuspensionClause   	`controls_country', select(Backsliding = `controls_BS') vce(cluster IGO_num)  difficult technique (bfgs) 
est store Heckman6
heckprob Suspension Allied_Lag1_ATOP OilGaspc_Lag1LOG GDP_Lag1Log ///
	c.IGOsize##c.IGOsize VotingRule SuspensionClause `controls_country', ///
	select(Backsliding = `controls_BS') vce(cluster IGO_num)  difficult technique (bfgs) 
est store Heckman7
// Table 1 output
esttab Heckman* using Table1.tex, replace b(3) se(3) staraux ///
	star(* 0.10 ** 0.05 *** 0.01) scalar("rho Rho" "p_c Pr(rho=0)")  aic(2) bic(2) noconstant label alignment(D{.}{.}{-1}) ///
	order( Allied_Lag1_ATOP OilGaspc_Lag1LOG GDP_Lag1Log /// 
	IGOsize  VotingRule SuspensionClause post_ColdWar IOmoreDemocratic ) ///
	drop ( time time2 time3 _cons ) ///
	note(Note: Heckman probit models with robust standard errors clustered on IGO in parentheses.)
		
		

	
	

	
	
***************************************
* ONLINE APPENDIX  
***************************************	

// Appendix Table A1 
use "ISQ_replication data.dta", clear
collapse (first) CommitmentYear, by (IGO IGOlong)
sort CommitmentYear
set more off
listtab IGO IGOlong CommitmentYear using TableA1.tex, type  delim(&)  rstyle(tabular) ///
	 replace ///
	 head("\begin{tabular}{rrr}" `"\textit{IGO Acronym}&\textit{IGO Name}&\textit{Commitment Year}\\"') ///
	 foot("\end{tabular} Note: The number of organizations shown here is slightly higher than in our analysis as it accounts for several organizations that are follow-on entities.")
	
	

	
// Appendix Figure A1 
use "ISQ_replication data.dta", clear
* color
collapse (max) Backsliding Backsliding_Democracy  Backsliding_HumanRights  Backsliding_Elections Backsliding_Coup, by(cowcode year)
graph hbar (mean) Backsliding Backsliding_Elections Backsliding_Democracy  Backsliding_HumanRights   Backsliding_Coup ,  ///
	ascategory blabel(bar, position(inside) format(%9.2f)) ///
	scheme(lean1) bargap(10) ytitle("Percent") xsize(3) ysize(2)  ///
    legend(off)  ///
	bar(1, color(ebblue)) bar(2, color(ebblue)) bar(3, color(ebblue))  ///
	bar(4, color(ebblue)) bar(5, color(ebblue))  ///
	yvaroptions(relabel(1 "Backsliding any type" 2 "Non-democratic: election issues" 3 "Non-democratic: polity regression" 4 "Human rights violations" 5 "Non-democratic: coups")) 
graph export "FigureA1_color.pdf", replace
* black and white
collapse (max) Backsliding Backsliding_Democracy  Backsliding_HumanRights  Backsliding_Elections Backsliding_Coup, by(cowcode year)
graph hbar (mean) Backsliding Backsliding_Elections Backsliding_Democracy  Backsliding_HumanRights   Backsliding_Coup ,  ///
	ascategory blabel(bar, position(inside) format(%9.2f)) ///
	scheme(lean1) bargap(10) ytitle("Percent") xsize(3) ysize(2)  ///
    legend(off)  ///
	bar(1, color(gs13)) bar(2, color(gs13)) bar(3, color(gs13))  ///
	bar(4, color(gs13)) bar(5, color(gs13))  ///
	yvaroptions(relabel(1 "Backsliding any type" 2 "Non-democratic: election issues" 3 "Non-democratic: polity regression" 4 "Human rights violations" 5 "Non-democratic: coups")) 
graph export "FigureA1_bw.pdf", replace


	
	
// Appendix Table A2
use "ISQ_replication data.dta", clear
sutex Suspension Allied_Lag1_ATOP OilGaspc_Lag1LOG GDP_Lag1Log ///
	IGOsize VotingRule SuspensionClause ///
	post_ColdWar IOmoreDemocratic ///
	Backsliding GDPgrowth_Lag1 GDPpc_Lag1LOG  OilGaspc_Lag1LOG ///
	Democracy_Lag1 AgeDemocracy_Lag1LOG  NumberParties_Lag1LOG system , ///
	file(TableA2.tex) minmax label	

	

	
// Appendix Table A3
set more off
local controls_country IOmoreDemocratic post_ColdWar  time time2 time3 
local controls_BS GDPgrowth_Lag1 GDPpc_Lag1LOG  OilGaspc_Lag1LOG ///
	Democracy_Lag1 AgeDemocracy_Lag1LOG  NumberParties_Lag1LOG system 
local controls_BSIO IOmoreDemocratic IOCommitmentStrength IOSuspensionHistory IOmemberships_Log SuspensionClause
heckprob Suspension Allied_Lag1_ATOP   	`controls_country', select(Backsliding = `controls_BS' `controls_BSIO' ) vce(cluster IGO_num) 
est store TA3m1
heckprob Suspension OilGaspc_Lag1LOG  	`controls_country', select(Backsliding = `controls_BS' `controls_BSIO' ) vce(cluster IGO_num) 
est store TA3m2
heckprob Suspension GDP_Lag1Log  		`controls_country', select(Backsliding = `controls_BS' `controls_BSIO' ) vce(cluster IGO_num) 
est store TA3m3
heckprob Suspension c.IGOsize##c.IGOsize  	`controls_country', select(Backsliding = `controls_BS' `controls_BSIO' ) vce(cluster IGO_num) 
est store TA3m4
heckprob Suspension VotingRule   		`controls_country', select(Backsliding = `controls_BS' `controls_BSIO' ) vce(cluster IGO_num)  difficult technique (bfgs) 
est store TA3m5
heckprob Suspension SuspensionClause   	`controls_country', select(Backsliding = `controls_BS' `controls_BSIO' ) vce(cluster IGO_num)  difficult technique (bfgs) 
est store TA3m6
heckprob Suspension Allied_Lag1_ATOP OilGaspc_Lag1LOG GDP_Lag1Log ///
	c.IGOsize##c.IGOsize VotingRule SuspensionClause `controls_country' , ///
	select(Backsliding = `controls_BS' `controls_BSIO') vce(cluster IGO_num)  difficult technique (bfgs) 
est store TA3m7
// Appendix Table A3 output
esttab TA3m* using TableA3.tex, replace b(3) se(3) staraux ///
	star(* 0.10 ** 0.05 *** 0.01) scalar("rho Rho" "p_c Pr(rho=0)")  aic(2) bic(2) noconstant label alignment(D{.}{.}{-1}) ///
	order( Allied_Lag1_ATOP OilGaspc_Lag1LOG GDP_Lag1Log /// 
	IGOsize  VotingRule SuspensionClause post_ColdWar IOmoreDemocratic ) ///
	drop ( time time2 time3 _cons ) ///
	note(Note: Heckman probit models with robust standard errors clustered on IGO in parentheses.)
		
	
	
	
	
// Appendix Table A4 
use "ISQ_replication data.dta", clear
*drop splines Suspension
btscs SuspensionZ year IGO_num cowcode, g(timz) nspline(3)
gen timz2=timz*timz
gen timz3=timz2*timz

set more off
local controls_country IOmoreDemocratic post_ColdWar  timz timz2 timz3 
local controls_BS GDPgrowth_Lag1 GDPpc_Lag1LOG  OilGaspc_Lag1LOG ///
	Democracy_Lag1 AgeDemocracy_Lag1LOG  NumberParties_Lag1LOG system   
heckprob SuspensionZ Allied_Lag1_ATOP   				`controls_country', select(Backsliding = `controls_BS') vce(cluster IGO_num) 
est store TA4m1
heckprob SuspensionZ OilGaspc_Lag1LOG  	`controls_country', select(Backsliding = `controls_BS') vce(cluster IGO_num) 
est store TA4m2
heckprob SuspensionZ GDP_Lag1Log  		`controls_country', select(Backsliding = `controls_BS') vce(cluster IGO_num) 
est store TA4m3
heckprob SuspensionZ c.IGOsize##c.IGOsize  	`controls_country', select(Backsliding = `controls_BS') vce(cluster IGO_num) 
est store TA4m4
heckprob SuspensionZ VotingRule   		`controls_country', select(Backsliding = `controls_BS') vce(cluster IGO_num)  difficult technique (bfgs) 
est store TA4m5
heckprob SuspensionZ SuspensionClause   `controls_country', select(Backsliding = `controls_BS') vce(cluster IGO_num)  difficult technique (bfgs) 
est store TA4m6
heckprob SuspensionZ Allied_Lag1_ATOP OilGaspc_Lag1LOG GDP_Lag1Log ///
	c.IGOsize##c.IGOsize VotingRule SuspensionClause `controls_country', ///
	select(Backsliding = `controls_BS') vce(cluster IGO_num)  difficult technique (bfgs) 
est store TA4m7
// Appendix Table A4 output 
esttab TA4m* using TableA4.tex, replace b(3) se(3) staraux ///
	star(* 0.10 ** 0.05 *** 0.01) scalar("rho Rho" "p_c Pr(rho=0)")  aic(2) bic(2) noconstant label alignment(D{.}{.}{-1}) ///
	order( Allied_Lag1_ATOP OilGaspc_Lag1LOG GDP_Lag1Log /// 
	IGOsize  VotingRule SuspensionClause post_ColdWar IOmoreDemocratic ) ///
	drop ( timz timz2 timz3 _cons ) ///
	note(Note: Heckman probit models with robust standard errors clustered on IGO in parentheses.)
		

	

// Table A5
use "ISQ_replication data.dta", clear
btscs SuspensionORThreat year IGO_num cowcode, g(Threattim) nspline(3)
gen Threattim2=Threattim*Threattim
gen Threattim3=Threattim2*Threattim

set more off
local controls_country IOmoreDemocratic post_ColdWar  Threattim Threattim2 Threattim3 
local controls_BS GDPgrowth_Lag1 GDPpc_Lag1LOG  OilGaspc_Lag1LOG ///
	Democracy_Lag1 AgeDemocracy_Lag1LOG  NumberParties_Lag1LOG system 
heckprob SuspensionORThreat Allied_Lag1_ATOP   				`controls_country', select(Backsliding = `controls_BS' ) vce(cluster IGO_num) 
est store TA5m1
heckprob SuspensionORThreat OilGaspc_Lag1LOG  	`controls_country', select(Backsliding = `controls_BS' ) vce(cluster IGO_num) 
est store TA5m2
heckprob SuspensionORThreat GDP_Lag1Log  		`controls_country', select(Backsliding = `controls_BS' ) vce(cluster IGO_num) 
est store TA5m3
heckprob SuspensionORThreat c.IGOsize##c.IGOsize  `controls_country', select(Backsliding = `controls_BS' ) vce(cluster IGO_num) 
est store TA5m4
heckprob SuspensionORThreat VotingRule   		`controls_country', select(Backsliding = `controls_BS' ) vce(cluster IGO_num)  difficult technique (bfgs) 
est store TA5m5
heckprob SuspensionORThreat SuspensionClause   	`controls_country', select(Backsliding = `controls_BS' ) vce(cluster IGO_num)  difficult technique (bfgs) 
est store TA5m6
heckprob SuspensionORThreat Allied_Lag1_ATOP OilGaspc_Lag1LOG GDP_Lag1Log ///
	c.IGOsize##c.IGOsize VotingRule SuspensionClause `controls_country', ///
	select(Backsliding = `controls_BS') vce(cluster IGO_num)  difficult technique (bfgs) 
est store TA5m7
// Appendix Table A5 output
esttab TA5m* using TableA5.tex, replace b(3) se(3) staraux ///
	star(* 0.10 ** 0.05 *** 0.01) scalar("rho Rho" "p_c Pr(rho=0)")  aic(2) bic(2) noconstant label alignment(D{.}{.}{-1}) ///
	order( Allied_Lag1_ATOP OilGaspc_Lag1LOG GDP_Lag1Log /// 
	IGOsize  VotingRule SuspensionClause post_ColdWar IOmoreDemocratic ) ///
	drop ( Threattim Threattim2 Threattim3 _cons ) ///
	note(Note: Heckman probit models with robust standard errors clustered on IGO in parentheses.)
		

		

// Appendix Table A6 
* 	NOTE: this takes a long time to run (2-3 days) because 
* 	jackknife procedure drops 1 of 38,000 observations, one at a time and re-runs the model
* 	38,000 observations * 7 models = 266,000 runs
set more off
local controls_country IOmoreDemocratic post_ColdWar  time time2 time3 
local controls_BS GDPgrowth_Lag1 GDPpc_Lag1LOG  OilGaspc_Lag1LOG ///
	Democracy_Lag1 AgeDemocracy_Lag1LOG  NumberParties_Lag1LOG system  
heckprob Suspension Allied_Lag1_ATOP   	`controls_country', select(Backsliding = `controls_BS')  vce(jackknife) 
est store TA6m1
heckprob Suspension OilGaspc_Lag1LOG  	`controls_country', select(Backsliding = `controls_BS')  vce(jackknife) 
est store TA6m2
heckprob Suspension GDP_Lag1Log  		`controls_country', select(Backsliding = `controls_BS')  vce(jackknife) 
est store TA6m3
heckprob Suspension c.IGOsize##c.IGOsize  `controls_country', select(Backsliding = `controls_BS')  vce(jackknife) 
est store TA6m4
heckprob Suspension VotingRule   		`controls_country', select(Backsliding = `controls_BS')  vce(jackknife)   difficult technique (bfgs) 
est store TA6m5
heckprob Suspension SuspensionClause   	`controls_country', select(Backsliding = `controls_BS') vce(jackknife)   difficult technique (bfgs) 
est store TA6m6
heckprob Suspension Allied_Lag1_ATOP OilGaspc_Lag1LOG GDP_Lag1Log ///
	c.IGOsize##c.IGOsize VotingRule SuspensionClause `controls_country', ///
	select(Backsliding = `controls_BS') vce(cluster IGO_num)  difficult technique (bfgs) 
est store TA6m7
// Appendix Table A6 output 
esttab TA6m* using TableA6.tex, replace b(3) se(3) staraux ///
	star(* 0.10 ** 0.05 *** 0.01) scalar("rho Rho" "p_c Pr(rho=0)")  aic(2) bic(2) noconstant label alignment(D{.}{.}{-1}) ///
	order( Allied_Lag1_ATOP OilGaspc_Lag1LOG GDP_Lag1Log /// 
	IGOsize VotingRule SuspensionClause post_ColdWar IOmoreDemocratic ) ///
	drop ( time time2 time3 _cons ) ///
	note(Note: Heckman probit models with robust standard errors clustered on IGO in parentheses.)
		
	
		
	
// Appendix Table A7
set more off
local controls_BS GDPgrowth_Lag1 GDPpc_Lag1LOG  OilGaspc_Lag1LOG ///
	Democracy_Lag1 AgeDemocracy_Lag1LOG  NumberParties_Lag1LOG system time time2 time3 
logit Backsliding `controls_BS' , cluster(cowcode)
predict PrBS, pr
sum PrBS
label var PrBS "Probability of political backsliding"

set more off
local controls_country IOmoreDemocratic post_ColdWar time time2 time3 PrBS  
eststo: relogitll  Suspension Allied_Lag1_ATOP   				`controls_country' , cluster (IGO_num) 
est store TA7m1
scalar list 
estadd scalar AIC
estadd scalar BIC
estadd scalar ll
eststo: relogitll  Suspension OilGaspc_Lag1LOG  	`controls_country', cluster (IGO_num) 
est store TA7m2
scalar list 
estadd scalar AIC
estadd scalar BIC
estadd scalar ll
eststo: relogitll  Suspension GDP_Lag1Log  			`controls_country' , cluster (IGO_num) 
est store TA7m3
scalar list 
estadd scalar AIC
estadd scalar BIC
estadd scalar ll
eststo: relogitll  Suspension IGOsize IGOsize2  			`controls_country' , cluster (IGO_num) 
est store TA7m4
scalar list 
estadd scalar AIC
estadd scalar BIC
estadd scalar ll
eststo: relogitll  Suspension VotingRule   				`controls_country' , cluster (IGO_num)   
est store TA7m5
scalar list 
estadd scalar AIC
estadd scalar BIC
estadd scalar ll
eststo: relogitll  Suspension SuspensionClause   				`controls_country' , cluster (IGO_num)   
est store TA7m6
scalar list 
estadd scalar AIC
estadd scalar BIC
estadd scalar ll
eststo: relogitll  Suspension Allied_Lag1_ATOP OilGaspc_Lag1LOG GDP_Lag1Log ///
	IGOsize IGOsize2  VotingRule SuspensionClause `controls_country', cluster (IGO_num)
est store TA7m7
scalar list 
estadd scalar AIC
estadd scalar BIC
estadd scalar ll
// Appendix Table A7 output 
esttab TA7m* using TableA7.tex, replace b(3) se(3) staraux ///
	star(* 0.10 ** 0.05 *** 0.01) scalar(AIC BIC ll)  aic(2) bic(2) noconstant label alignment(D{.}{.}{-1}) ///
	order( Allied_Lag1_ATOP OilGaspc_Lag1LOG GDP_Lag1Log /// 
	IGOsize IGOsize2 VotingRule SuspensionClause post_ColdWar IOmoreDemocratic ) ///
	drop ( time time2 time3 _cons ) ///
	note(Note: Rare event logit models with robust standard errors clustered on IGO in parentheses.)
		
	 
	 
	 
// Appendix Table A8
set more off
local controls_country IOmoreDemocratic post_ColdWar time time2 time3 PrBS    
logit  Suspension Allied_Lag1_ATOP   `controls_country' , cluster (IGO_num) 
est store TA8m1
logit Suspension OilGaspc_Lag1LOG  	`controls_country', cluster (IGO_num) 
est store TA8m2
logit  Suspension GDP_Lag1Log  		`controls_country' , cluster (IGO_num) 
est store TA8m3
logit  Suspension c.IGOsize##c.IGOsize  `controls_country' , cluster (IGO_num) 
est store TA8m4
logit  Suspension VotingRule   		`controls_country' , cluster (IGO_num)   
est store TA8m5
logit  Suspension SuspensionClause   `controls_country' , cluster (IGO_num)   
est store TA8m6
logit  Suspension Allied_Lag1_ATOP OilGaspc_Lag1LOG GDP_Lag1Log ///
	c.IGOsize##c.IGOsize   VotingRule SuspensionClause `controls_country', cluster (IGO_num)
est store TA8m7
// Appendix Table A8 output
esttab TA8m* using TableA8.tex, replace b(3) se(3) staraux ///
	star(* 0.10 ** 0.05 *** 0.01)  aic(2) bic(2) noconstant label alignment(D{.}{.}{-1}) ///
	order( Allied_Lag1_ATOP OilGaspc_Lag1LOG GDP_Lag1Log /// 
	IGOsize  VotingRule SuspensionClause post_ColdWar IOmoreDemocratic ) ///
	drop ( time time2 time3 _cons ) ///
	note(Note: Logit models with robust standard errors clustered on IGO in parentheses.)
		
	 
	 
	 
	 
// Appendix Table A9
* test if changes in signifance are due to change/reduction in sample size OR change in controls
* estimate model 7
set more off
local controls_country IOmoreDemocratic post_ColdWar  time time2 time3 
local controls_BS GDPgrowth_Lag1 GDPpc_Lag1LOG  OilGaspc_Lag1LOG ///
	Democracy_Lag1 AgeDemocracy_Lag1LOG  NumberParties_Lag1LOG system 
heckprob Suspension Allied_Lag1_ATOP OilGaspc_Lag1LOG GDP_Lag1Log ///
	c.IGOsize##c.IGOsize VotingRule SuspensionClause `controls_country', ///
	select(Backsliding = `controls_BS') vce(cluster IGO_num)  difficult technique (bfgs) 
* save sample of model 7
generate sample = e(sample)
* re-estimate models 1-6 (and 7) on this sample	
set more off
local controls_country IOmoreDemocratic post_ColdWar  time time2 time3 
local controls_BS GDPgrowth_Lag1 GDPpc_Lag1LOG  OilGaspc_Lag1LOG ///
	Democracy_Lag1 AgeDemocracy_Lag1LOG  NumberParties_Lag1LOG system 
heckprob Suspension Allied_Lag1_ATOP   	`controls_country'  if sample==1 , select(Backsliding = `controls_BS') vce(cluster IGO_num)
est store TA9m1
heckprob Suspension OilGaspc_Lag1LOG  	`controls_country'   if sample==1 , select(Backsliding = `controls_BS') vce(cluster IGO_num)  
est store TA9m2
heckprob Suspension GDP_Lag1Log  		`controls_country'   if sample==1 , select(Backsliding = `controls_BS') vce(cluster IGO_num) 
est store TA9m3
heckprob Suspension c.IGOsize##c.IGOsize  	`controls_country'   if sample==1 , select(Backsliding = `controls_BS') vce(cluster IGO_num)  
est store TA9m4
heckprob Suspension VotingRule   		`controls_country'   if sample==1 , select(Backsliding = `controls_BS') vce(cluster IGO_num)  difficult technique (bfgs)   
est store TA9m5
heckprob Suspension SuspensionClause   	`controls_country'   if sample==1 , select(Backsliding = `controls_BS') vce(cluster IGO_num)  difficult technique (bfgs)  
est store TA9m6
heckprob Suspension Allied_Lag1_ATOP OilGaspc_Lag1LOG GDP_Lag1Log ///
	c.IGOsize##c.IGOsize VotingRule SuspensionClause `controls_country'   if sample==1 , ///
	select(Backsliding = `controls_BS') vce(cluster IGO_num)  difficult technique (bfgs)   
est store TA9m7
// Appendix Table A9 output
esttab TA9m* using TableA9.tex, replace b(3) se(3) staraux ///
	star(* 0.10 ** 0.05 *** 0.01) scalar("rho Rho" "p_c Pr(rho=0)")  aic(2) bic(2) noconstant label alignment(D{.}{.}{-1}) ///
	order( Allied_Lag1_ATOP OilGaspc_Lag1LOG GDP_Lag1Log /// 
	IGOsize  VotingRule SuspensionClause post_ColdWar IOmoreDemocratic ) ///
	drop ( time time2 time3 _cons ) ///
	note(Note: Heckman probit models with robust standard errors clustered on IGO in parentheses.)
		


	
// Appendix Table A10
set more off
local controls_country IOmoreDemocratic post_ColdWar time time2 time3
eststo: relogitll  Suspension Allied_Lag1_ATOP   `controls_country' if Backsliding==1 , cluster (IGO_num) 
est store TA10m1
scalar list 
estadd scalar AIC
estadd scalar BIC
estadd scalar ll
eststo: relogitll  Suspension OilGaspc_Lag1LOG  `controls_country' if Backsliding==1 , cluster (IGO_num) 
est store TA10m2
scalar list 
estadd scalar AIC
estadd scalar BIC
estadd scalar ll
eststo: relogitll  Suspension GDP_Lag1Log  		`controls_country' if Backsliding==1  , cluster (IGO_num) 
est store TA10m3
scalar list 
estadd scalar AIC
estadd scalar BIC
estadd scalar ll
eststo: relogitll  Suspension IGOsize IGOsize2  `controls_country' if Backsliding==1  , cluster (IGO_num) 
est store TA10m4
scalar list 
estadd scalar AIC
estadd scalar BIC
estadd scalar ll
eststo: relogitll  Suspension VotingRule   		`controls_country'  if Backsliding==1 , cluster (IGO_num)   
est store TA10m5
scalar list 
estadd scalar AIC
estadd scalar BIC
estadd scalar ll
eststo: relogitll  Suspension SuspensionClause   `controls_country'  if Backsliding==1 , cluster (IGO_num)   
est store TA10m6
scalar list 
estadd scalar AIC
estadd scalar BIC
estadd scalar ll
eststo: relogitll  Suspension Allied_Lag1_ATOP OilGaspc_Lag1LOG GDP_Lag1Log ///
	IGOsize IGOsize2   VotingRule SuspensionClause `controls_country'  if Backsliding==1 , cluster (IGO_num)
est store TA10m7
scalar list 
estadd scalar AIC
estadd scalar BIC
estadd scalar ll
// Appendix Table A10 output
esttab TA10m* using TableA10.tex, replace b(3) se(3) staraux ///
	star(* 0.10 ** 0.05 *** 0.01) scalar(AIC BIC ll)   noconstant label alignment(D{.}{.}{-1}) ///
	order( Allied_Lag1_ATOP OilGaspc_Lag1LOG GDP_Lag1Log /// 
	IGOsize IGOsize2 VotingRule SuspensionClause post_ColdWar IOmoreDemocratic ) ///
	drop ( time time2 time3 _cons ) ///
	note(Note: Rare event logit models with robust standard errors clustered on IGO in parentheses.)
	

	
	
// Appendix Table A11
set more off
local controls_country IOmoreDemocratic post_ColdWar time time2 time3  
logit  Suspension Allied_Lag1_ATOP   `controls_country' if Backsliding==1 , cluster (IGO_num) 
est store TA11m1
logit Suspension OilGaspc_Lag1LOG  	`controls_country' if Backsliding==1 , cluster (IGO_num) 
est store TA11m2
logit  Suspension GDP_Lag1Log  		`controls_country'  if Backsliding==1 , cluster (IGO_num) 
est store TA11m3
logit  Suspension c.IGOsize##c.IGOsize `controls_country'  if Backsliding==1 , cluster (IGO_num) 
est store TA11m4
logit  Suspension VotingRule   		`controls_country'  if Backsliding==1 , cluster (IGO_num)   
est store TA11m5
logit  Suspension SuspensionClause   `controls_country'  if Backsliding==1 , cluster (IGO_num)   
est store TA11m6
logit  Suspension Allied_Lag1_ATOP OilGaspc_Lag1LOG GDP_Lag1Log ///
	c.IGOsize##c.IGOsize VotingRule SuspensionClause `controls_country'  if Backsliding==1 , cluster (IGO_num)
est store TA11m7
// Appendix Table A11 output
esttab TA11m* using TableA11.tex, replace b(3) se(3) staraux ///
	star(* 0.10 ** 0.05 *** 0.01)  aic(2) bic(2)     noconstant label alignment(D{.}{.}{-1}) ///
	order( Allied_Lag1_ATOP OilGaspc_Lag1LOG GDP_Lag1Log /// 
	IGOsize VotingRule SuspensionClause post_ColdWar IOmoreDemocratic ) ///
	drop ( time time2 time3 _cons ) ///
	note(Note: Logit models with robust standard errors clustered on IGO in parentheses.)

	 

	
// Appendix Table A12 
set more off
local controls_country IOmoreDemocratic post_ColdWar  time time2 time3 
local controls_BS GDPgrowth_Lag1 GDPpc_Lag1LOG  OilGaspc_Lag1LOG ///
	Democracy_Lag1 AgeDemocracy_Lag1LOG  NumberParties_Lag1LOG system time time2 time3 
heckprob Suspension Allied_Lag1_ATOP   				`controls_country', select(Backsliding_Elections = `controls_BS') vce(cluster IGO_num)  difficult technique (bfgs) 
est store TA12m1
heckprob Suspension OilGaspc_Lag1LOG  	`controls_country', select(Backsliding_Elections = `controls_BS') vce(cluster IGO_num) 
est store TA12m2
heckprob Suspension GDP_Lag1Log  		`controls_country', select(Backsliding_Elections = `controls_BS') vce(cluster IGO_num) 
est store TA12m3
heckprob Suspension c.IGOsize##c.IGOsize  `controls_country', select(Backsliding_Elections = `controls_BS') vce(cluster IGO_num) 
est store TA12m4
heckprob Suspension VotingRule   		`controls_country', select(Backsliding_Elections = `controls_BS') vce(cluster IGO_num) 
est store TA12m5
heckprob Suspension SuspensionClause   	`controls_country', select(Backsliding_Elections = `controls_BS') vce(cluster IGO_num)  difficult technique (bfgs) 
est store TA12m6
// Appendix Table A12 output
esttab TA12m* using TableA12.tex, replace b(3) se(3) staraux ///
	star(* 0.10 ** 0.05 *** 0.01) scalar("rho Rho" "p_c Pr(rho=0)")  aic(2) bic(2) noconstant label alignment(D{.}{.}{-1}) ///
	order( Allied_Lag1_ATOP OilGaspc_Lag1LOG GDP_Lag1Log /// 
	IGOsize  VotingRule SuspensionClause post_ColdWar IOmoreDemocratic ) ///
	drop ( time time2 time3 _cons ) ///
	note(Note: Heckman probit models with robust standard errors clustered on IGO in parentheses.)
		


	
// Appendix Table A13 
set more off
local controls_country IOmoreDemocratic post_ColdWar  time time2 time3 
local controls_BS GDPgrowth_Lag1 GDPpc_Lag1LOG  OilGaspc_Lag1LOG ///
	Democracy_Lag1 AgeDemocracy_Lag1LOG  NumberParties_Lag1LOG system 
heckprob Suspension Allied_Lag1_ATOP   	`controls_country', select(Backsliding_Democracy = `controls_BS') vce(cluster IGO_num)  difficult technique (bfgs) 
est store TA13m1
heckprob Suspension OilGaspc_Lag1LOG  	`controls_country', select(Backsliding_Democracy = `controls_BS') vce(cluster IGO_num) 
est store TA13m2
heckprob Suspension GDP_Lag1Log  		`controls_country', select(Backsliding_Democracy = `controls_BS') vce(cluster IGO_num) 
est store TA13m3
heckprob Suspension  c.IGOsize##c.IGOsize  	`controls_country', select(Backsliding_Democracy = `controls_BS') vce(cluster IGO_num) 
est store TA13m4
heckprob Suspension VotingRule   		`controls_country', select(Backsliding_Democracy = `controls_BS') vce(cluster IGO_num) 
est store TA13m5
heckprob Suspension SuspensionClause   	`controls_country', select(Backsliding_Democracy = `controls_BS') vce(cluster IGO_num)  difficult technique (bfgs) 
est store TA13m6
// Appendix Table A13 output
esttab TA13m* using TableA13.tex, replace b(3) se(3) staraux ///
	star(* 0.10 ** 0.05 *** 0.01) scalar("rho Rho" "p_c Pr(rho=0)")  aic(2) bic(2) noconstant label alignment(D{.}{.}{-1}) ///
	order( Allied_Lag1_ATOP OilGaspc_Lag1LOG GDP_Lag1Log /// 
	IGOsize  VotingRule SuspensionClause post_ColdWar IOmoreDemocratic ) ///
	drop ( time time2 time3 _cons ) ///
	note(Note: Heckman probit models with robust standard errors clustered on IGO in parentheses.)
		
	
	
		
// Appendix Table A14
set more off
local controls_country IOmoreDemocratic post_ColdWar  time time2 time3 
local controls_BS GDPgrowth_Lag1 GDPpc_Lag1LOG  OilGaspc_Lag1LOG ///
	Democracy_Lag1 AgeDemocracy_Lag1LOG  NumberParties_Lag1LOG system 
heckprob Suspension Allied_Lag1_ATOP   	`controls_country', select(Backsliding_Coup = `controls_BS') vce(cluster IGO_num)  difficult technique (bfgs) 
est store TA14m1
heckprob Suspension OilGaspc_Lag1LOG  	`controls_country', select(Backsliding_Coup = `controls_BS') vce(cluster IGO_num) 
est store TA14m2
heckprob Suspension GDP_Lag1Log  		`controls_country', select(Backsliding_Coup = `controls_BS') vce(cluster IGO_num) 
est store TA14m3
heckprob Suspension  c.IGOsize##c.IGOsize  `controls_country', select(Backsliding_Coup = `controls_BS') vce(cluster IGO_num) 
est store TA14m4
heckprob Suspension VotingRule   		`controls_country', select(Backsliding_Coup = `controls_BS') vce(cluster IGO_num) 
est store TA14m5
heckprob Suspension SuspensionClause   	`controls_country', select(Backsliding_Coup = `controls_BS') vce(cluster IGO_num)  difficult technique (bfgs) 
est store TA14m6
// Appendix Table A14 output
esttab TA14m* using TableA14.tex, replace b(3) se(3) staraux ///
	star(* 0.10 ** 0.05 *** 0.01) scalar("rho Rho" "p_c Pr(rho=0)")  aic(2) bic(2) noconstant label alignment(D{.}{.}{-1}) ///
	order( Allied_Lag1_ATOP OilGaspc_Lag1LOG GDP_Lag1Log /// 
	IGOsize  VotingRule SuspensionClause post_ColdWar IOmoreDemocratic ) ///
	drop ( time time2 time3 _cons ) ///
	note(Note: Heckman probit models with robust standard errors clustered on IGO in parentheses.)
		
	
	
	
// Appendix Table A15
set more off
local controls_country IOmoreDemocratic  time time2 time3    
local controls_BS GDPgrowth_Lag1 GDPpc_Lag1LOG  OilGaspc_Lag1LOG ///
	Democracy_Lag1 AgeDemocracy_Lag1LOG  NumberParties_Lag1LOG system time time2 time3
heckprob Suspension Allied_Lag1_ATOP   	`controls_country' if year>=1990, select(Backsliding = `controls_BS') vce(cluster IGO_num) 
est store TA15m1
heckprob Suspension OilGaspc_Lag1LOG  	`controls_country'  if year>=1990, select(Backsliding = `controls_BS') vce(cluster IGO_num) 
est store TA15m2
heckprob Suspension GDP_Lag1Log  		`controls_country' if year>=1990, select(Backsliding = `controls_BS') vce(cluster IGO_num) 
est store TA15m3
heckprob Suspension c.IGOsize##c.IGOsize  `controls_country' if year>=1990, select(Backsliding = `controls_BS') vce(cluster IGO_num) 
est store TA15m4
heckprob Suspension VotingRule   		`controls_country' if year>=1990, select(Backsliding = `controls_BS') vce(cluster IGO_num)  difficult technique (bfgs) 
est store TA15m5
heckprob Suspension SuspensionClause   	`controls_country' if year>=1990, select(Backsliding = `controls_BS') vce(cluster IGO_num)  difficult technique (bfgs) 
est store TA15m6
heckprob Suspension Allied_Lag1_ATOP OilGaspc_Lag1LOG GDP_Lag1Log ///
	c.IGOsize##c.IGOsize VotingRule SuspensionClause `controls_country'  if year>=1990, ///
	select(Backsliding = `controls_BS') vce(cluster IGO_num)  difficult technique (bfgs) 
est store TA15m7
// Appendix Table A15 output
esttab TA15m* using TableA15.tex, replace b(3) se(3) staraux ///
	star(* 0.10 ** 0.05 *** 0.01) scalar("rho Rho" "p_c Pr(rho=0)")  aic(2) bic(2) noconstant label alignment(D{.}{.}{-1}) ///
	order( Allied_Lag1_ATOP OilGaspc_Lag1LOG GDP_Lag1Log /// 
	IGOsize  VotingRule SuspensionClause post_ColdWar IOmoreDemocratic ) ///
	drop ( time time2 time3 _cons ) ///
	note(Note: Heckman probit models with robust standard errors clustered on IGO in parentheses.)
		
	
	
	
// Appendix Table A16
set more off
local controls_country IOmoreDemocratic post_ColdWar  time time2 time3 
local controls_BS GDPgrowth_Lag1 GDPpc_Lag1LOG  OilGaspc_Lag1LOG ///
	Democracy_Lag1 AgeDemocracy_Lag1LOG  NumberParties_Lag1LOG system
local controls_robIGO RegionalIGO  IOCommitmentStrength IOSuspensionHistory TIES_sanction_Lag1 Backsliding_DemocracyDegree
heckprob Suspension Allied_Lag1_ATOP   		`controls_country'  `controls_robIGO', select(Backsliding = `controls_BS'  ) vce(cluster IGO_num) 
est store TA16m1
heckprob Suspension OilGaspc_Lag1LOG  		`controls_country'  `controls_robIGO', select(Backsliding = `controls_BS'  ) vce(cluster IGO_num) 
est store TA16m2
heckprob Suspension GDP_Lag1Log  			`controls_country'  `controls_robIGO', select(Backsliding = `controls_BS'  ) vce(cluster IGO_num) 
est store TA16m3
heckprob Suspension  c.IGOsize##c.IGOsize  	`controls_country'  `controls_robIGO', select(Backsliding = `controls_BS'  ) vce(cluster IGO_num) 
est store TA16m4
heckprob Suspension VotingRule   			`controls_country'  `controls_robIGO', select(Backsliding = `controls_BS'  ) vce(cluster IGO_num)  difficult technique (bfgs) 
est store TA16m5
heckprob Suspension SuspensionClause   		`controls_country'  `controls_robIGO', select(Backsliding = `controls_BS'  ) vce(cluster IGO_num)  difficult technique (bfgs) 
est store TA16m6
heckprob Suspension Allied_Lag1_ATOP OilGaspc_Lag1LOG GDP_Lag1Log ///
	c.IGOsize##c.IGOsize VotingRule SuspensionClause `controls_country' `controls_robcountry' `controls_robIGO', ///
	select(Backsliding = `controls_BS'  ) vce(cluster IGO_num)  difficult technique (bfgs) 
est store TA16m7
// Appendix Table A16 output
esttab TA16m* using TableA16.tex, replace b(3) se(3) staraux ///
	star(* 0.10 ** 0.05 *** 0.01) scalar("rho Rho" "p_c Pr(rho=0)")  aic(2) bic(2) noconstant label alignment(D{.}{.}{-1}) ///
	order( Allied_Lag1_ATOP OilGaspc_Lag1LOG GDP_Lag1Log /// 
	IGOsize  VotingRule SuspensionClause post_ColdWar IOmoreDemocratic ) ///
	drop ( time time2 time3 _cons ) ///
	note(Note: Heckman probit models with robust standard errors clustered on IGO in parentheses.)
		
	
	
	
// Appendix Table A17
set more off
local controls_issue2 IssueSecurity IssueEcon IssueOther
local controls_country IOmoreDemocratic post_ColdWar  time time2 time3 
local controls_BS GDPgrowth_Lag1 GDPpc_Lag1LOG  OilGaspc_Lag1LOG ///
	Democracy_Lag1 AgeDemocracy_Lag1LOG  NumberParties_Lag1LOG system 
heckprob Suspension Allied_Lag1_ATOP   	`controls_issue2'		`controls_country' , select(Backsliding = `controls_BS') vce(cluster IGO_num) 
est store TA17m1
heckprob Suspension OilGaspc_Lag1LOG  	`controls_issue2'		`controls_country' , select(Backsliding = `controls_BS') vce(cluster IGO_num) 
est store TA17m2
heckprob Suspension GDP_Lag1Log  		`controls_issue2'	`controls_country' , select(Backsliding = `controls_BS') vce(cluster IGO_num) 
est store TA17m3
heckprob Suspension c.IGOsize##c.IGOsize 	`controls_issue2'		`controls_country' , select(Backsliding = `controls_BS') vce(cluster IGO_num) 
est store TA17m4
heckprob Suspension VotingRule   		`controls_issue2'		`controls_country' , select(Backsliding = `controls_BS') vce(cluster IGO_num)  difficult technique (bfgs) 
est store TA17m5
heckprob Suspension SuspensionClause   	`controls_issue2'	`controls_country' , select(Backsliding = `controls_BS') vce(cluster IGO_num)  difficult technique (bfgs) 
est store TA17m6
heckprob Suspension Allied_Lag1_ATOP OilGaspc_Lag1LOG GDP_Lag1Log ///
	c.IGOsize##c.IGOsize VotingRule SuspensionClause `controls_issue2'	`controls_country' , ///
	select(Backsliding = `controls_BS') vce(cluster IGO_num)   
est store TA17m7
// Appendix Table A17 output
esttab TA17m* using TableA17.tex, replace b(3) se(3) staraux ///
	star(* 0.10 ** 0.05 *** 0.01) scalar("rho Rho" "p_c Pr(rho=0)")  aic(2) bic(2) noconstant label alignment(D{.}{.}{-1}) ///
	order( Allied_Lag1_ATOP OilGaspc_Lag1LOG GDP_Lag1Log /// 
	IGOsize  VotingRule SuspensionClause post_ColdWar IOmoreDemocratic ) ///
	drop ( time time2 time3 _cons ) ///
	note(Note: Heckman probit models with robust standard errors clustered on IGO in parentheses.)
		
	
	
	
// Appendix Table A18
set more off
local controls_country IOmoreDemocratic post_ColdWar  time time2 time3 
local controls_BS GDPgrowth_Lag1 GDPpc_Lag1LOG  OilGaspc_Lag1LOG ///
	Democracy_Lag1 AgeDemocracy_Lag1LOG  NumberParties_Lag1LOG system 
heckprob Suspension Allied_Lag1_COW   	`controls_country', select(Backsliding = `controls_BS') vce(cluster IGO_num) 
est store TA18m1
heckprob Suspension OilGaspc_Lag1LOG  	`controls_country', select(Backsliding = `controls_BS') vce(cluster IGO_num) 
est store TA18m2
heckprob Suspension GDP_Lag1Log  		`controls_country', select(Backsliding = `controls_BS') vce(cluster IGO_num) 
est store TA18m3
heckprob Suspension c.IGOsize##c.IGOsize  `controls_country', select(Backsliding = `controls_BS') vce(cluster IGO_num) 
est store TA18m4
heckprob Suspension VotingRule   		`controls_country', select(Backsliding = `controls_BS') vce(cluster IGO_num)  difficult technique (bfgs) 
est store TA18m5
heckprob Suspension SuspensionClause   	`controls_country', select(Backsliding = `controls_BS') vce(cluster IGO_num)  difficult technique (bfgs) 
est store TA18m6
heckprob Suspension Allied_Lag1_COW OilGaspc_Lag1LOG GDP_Lag1Log ///
	c.IGOsize##c.IGOsize VotingRule SuspensionClause `controls_country', ///
	select(Backsliding = `controls_BS') vce(cluster IGO_num)  difficult technique (bfgs) 
est store TA18m7
// Appendix Table A18 output
esttab TA18m* using TableA18.tex, replace b(3) se(3) staraux ///
	star(* 0.10 ** 0.05 *** 0.01) scalar("rho Rho" "p_c Pr(rho=0)")  aic(2) bic(2) noconstant label alignment(D{.}{.}{-1}) ///
	order( Allied_Lag1_COW OilGaspc_Lag1LOG GDP_Lag1Log /// 
	IGOsize  VotingRule SuspensionClause post_ColdWar IOmoreDemocratic ) ///
	drop ( time time2 time3 _cons ) ///
	note(Note: Heckman probit models with robust standard errors clustered on IGO in parentheses.)
		
	
	

// Appendix Table A19
set more off
local controls_country IOmoreDemocratic post_ColdWar  time time2 time3 
local controls_BS GDPgrowth_Lag1 GDPpc_Lag1LOG  OilGaspc_Lag1LOG ///
	Democracy_Lag1 AgeDemocracy_Lag1LOG  NumberParties_Lag1LOG system 
heckprob Suspension Allied_Lag1_ATOP   	`controls_country', select(Backsliding2 = `controls_BS') vce(cluster IGO_num) 
est store TA19m1
heckprob Suspension OilGaspc_Lag1LOG  	`controls_country', select(Backsliding2 = `controls_BS') vce(cluster IGO_num) 
est store TA19m2
heckprob Suspension GDP_Lag1Log  		`controls_country', select(Backsliding2 = `controls_BS') vce(cluster IGO_num) 
est store TA19m3
heckprob Suspension c.IGOsize##c.IGOsize  `controls_country', select(Backsliding2 = `controls_BS') vce(cluster IGO_num) 
est store TA19m4
heckprob Suspension VotingRule   		`controls_country', select(Backsliding2 = `controls_BS') vce(cluster IGO_num)  difficult technique (bfgs) 
est store TA19m5
heckprob Suspension SuspensionClause   	`controls_country', select(Backsliding2 = `controls_BS') vce(cluster IGO_num)  difficult technique (bfgs) 
est store TA19m6
heckprob Suspension Allied_Lag1_ATOP OilGaspc_Lag1LOG GDP_Lag1Log ///
	c.IGOsize##c.IGOsize VotingRule SuspensionClause `controls_country', ///
	select(Backsliding2 = `controls_BS') vce(cluster IGO_num)  
est store TA19m7
// Appendix Table A19 output
esttab TA19m* using TableA19.tex, replace b(3) se(3) staraux ///
	star(* 0.10 ** 0.05 *** 0.01) scalar("rho Rho" "p_c Pr(rho=0)")  aic(2) bic(2) noconstant label alignment(D{.}{.}{-1}) ///
	order( Allied_Lag1_ATOP OilGaspc_Lag1LOG GDP_Lag1Log /// 
	IGOsize  VotingRule SuspensionClause post_ColdWar IOmoreDemocratic ) ///
	drop ( time time2 time3 _cons ) ///
	note(Note: Heckman probit models with robust standard errors clustered on IGO in parentheses.)
		

		

// Appendix Table A20
set more off
local controls_country IOmoreDemocratic post_ColdWar  time time2 time3 
local controls_BS GDPgrowth_Lag1 GDPpc_Lag1LOG  OilGaspc_Lag1LOG ///
	Democracy_Lag1 AgeDemocracy_Lag1LOG  NumberParties_Lag1LOG system 
heckprob Suspension Allied_Lag1_ATOP   	`controls_country', select(Backsliding3 = `controls_BS') vce(cluster IGO_num) 
est store TA20m1
heckprob Suspension OilGaspc_Lag1LOG  	`controls_country', select(Backsliding3 = `controls_BS') vce(cluster IGO_num) 
est store TA20m2
heckprob Suspension GDP_Lag1Log  		`controls_country', select(Backsliding3 = `controls_BS') vce(cluster IGO_num) 
est store TA20m3
heckprob Suspension  c.IGOsize##c.IGOsize  	`controls_country', select(Backsliding3 = `controls_BS') vce(cluster IGO_num) 
est store TA20m4
heckprob Suspension VotingRule   		`controls_country', select(Backsliding3 = `controls_BS') vce(cluster IGO_num)  difficult technique (bfgs) 
est store TA20m5
heckprob Suspension SuspensionClause   	`controls_country', select(Backsliding3 = `controls_BS') vce(cluster IGO_num)  difficult technique (bfgs) 
est store TA20m6
heckprob Suspension Allied_Lag1_ATOP OilGaspc_Lag1LOG GDP_Lag1Log ///
	c.IGOsize##c.IGOsize VotingRule SuspensionClause `controls_country', ///
	select(Backsliding3 = `controls_BS') vce(cluster IGO_num)  
est store TA20m7
// Appendix Table A20 output
esttab TA20m* using TableA20.tex, replace b(3) se(3) staraux ///
	star(* 0.10 ** 0.05 *** 0.01) scalar("rho Rho" "p_c Pr(rho=0)")  aic(2) bic(2) noconstant label alignment(D{.}{.}{-1}) ///
	order( Allied_Lag1_ATOP OilGaspc_Lag1LOG GDP_Lag1Log /// 
	IGOsize  VotingRule SuspensionClause post_ColdWar IOmoreDemocratic ) ///
	drop ( time time2 time3 _cons ) ///
	note(Note: Heckman probit models with robust standard errors clustered on IGO in parentheses.)
		

		

* Appendix Table A21					
sutex SuspensionZ IssueSecurity IssuePol IssueEcon IssueOther ///
	RegionalIGO IOCommitmentStrength IOSuspensionHistory TIES_sanction_Lag1 Backsliding_DemocracyDegree ///
	Allied_Lag1_COW ElectionsNOTfair LatentHumanRights, file(TableA21.tex)  minmax label replace						
  

  
  
  
